package com.job.Yangmingyu.String0716;

import java.util.Random;

/**
 * @author Yangmingyu
 * @version 1.0
 * @since 2022-07-16 15:09:49
 */
public class SbfEX01 {
    public static void main(String[] args) {
        Random random=new Random();
        String letters="ABCDEFGHIJKLMNOPQRSTUVWXZ";
        long millis=System.currentTimeMillis();
        System.out.println(millis);//每隔2个字符插入一个字母
        StringBuffer sbf=new StringBuffer(String.valueOf(millis));
        int insertIndex=2;
        for (int i=5;i<=5;i++){
            sbf.insert(insertIndex, letters.charAt(random.nextInt(letters.length())));
            insertIndex+=3;
        }
        System.out.println(sbf.toString());

        String str="f5js26hd6";
        StringBuffer sbf2=new StringBuffer(str);
        StringBuffer num=new StringBuffer(str);
        for (int i=0;i<sbf2.length();i++){
            char ci=sbf2.charAt(i);
            if (Character.isDigit(ci)){
                num.append(ci);
            }
        }
        int i=Integer.parseInt(num.toString());
        System.out.println(i);
    }
}
/*String,StringBuffer,StringBuilder
* String是固定长度的字符穿，原因内部保存子符的数组是final修饰的 本质是常量
* StringBuffer,StringBuilder是可变长度字符串，原因内部保存子符的数组不是final修饰的 可以重新指向数组
* StringBuffer是线程安全的
* StringBuilder是线程不安全的
* StringBuilder和StringBuffer API是一样的
* 效率上： String<StringBuffer<StringBuilder
 * */